package com.tqjc.system.core.gate.sdk.callback;

import com.sun.jna.Pointer;
import com.sun.jna.win32.StdCallLibrary;

/**
 *  @brief  通过该回调函数获得实时识别数据
 *  @param  [OUT] pvParam	         用户自定义参数，用来区分不同的sdk使用者，类似于线程入口函数的参数（与设置此回调接口的最后一个参数相同）
 *  @param  [OUT] pcIP	             相机ip
 *  @param  [OUT] pcNumber           车牌号
 *  @param  [OUT] pcColor            车牌颜色（"蓝色","黄色","白色","黑色",“绿色”）
 *  @param  [OUT] pcPicData          全景数据
 *  @param  [OUT] u32PicLen          全景数据长度
 *  @param  [OUT] pcCloseUpPicData   车牌数据
 *  @param  [OUT] u32CloseUpPicLen   车牌数据长度
 *  @param  [OUT] nSpeed             车辆速度
 *  @param  [OUT] nVehicleType       车辆类型（0:未知,1轿车,2面包车,3大型客车,4中型客车,5皮卡,6非机动车,7SUV,8MPV,9微型货车,10轻型货车,11中型货车,12重型货车)
 *  @param  [OUT] s16FalsePlate      虚假车牌（0:否，1是)
 *  @param  [OUT] nReserved2         预留参数2
 *  @param  [OUT] fPlateConfidence   车牌打分值（SDK输出的范围大于IE界面设置的车牌阈值，上限是28，例如：IE设置的是10，范围：10-28）
 *  @param  [OUT] u32VehicleColor    车身颜色（车辆特征码相机版本：(-1:未知,0:黑色,1:蓝色,2:灰色,3:棕色,4:绿色,5:夜间深色,6:紫色,7:红色,8:白色,9:黄色)
 *                                           其它相机版本：(0:未知,1:红色,2:绿色,3:蓝色,4:黄色,5:白色,6:灰色,7:黑色,8:紫色,9:棕色,10:粉色)）
 *  @param  [OUT] u32PlateType       车牌类型，详见车牌类型ICE_PLATETYPE_E枚举值
 *  @param  [OUT] u32VehicleDir      车辆方向（0:车头方向,1:车尾方向,2:车头和车尾方向）
 *  @param  [OUT] u32AlarmType       报警输出，详见报警输出ICE_VDC_ALARM_TYPE枚举值
 *  @param  [OUT] u32SerialNum       抓拍的序号（从相机第一次抓拍开始计数，相机重启后才清零）
 *  @param  [OUT] uCapTime           实时抓拍时间，从1970年1月1日零点开始的秒数
 *  @param  [OUT] nReserved3		 预留参数
 *  @param  [OUT] nReserved4		 预留参数
 *  return  void
 */
public interface IPlateCallback extends StdCallLibrary.StdCallCallback {

    public void ICE_IPCSDK_Plate(int param,
                                 String strIP, String strNumber, String strColor,
                                 Pointer pPicData, int nLen, Pointer pCloseupData, int nCloseupLen,
                                 int nReserved1, int nVehicleType, int nFalsePlate, int nReserved2,
                                 float fPlateConfidence, int nVehicleColor, int nPlateType, int nVehicleDir,
                                 int nAlarmType, int nSerialNum, int nCapTime, int nReserved3, int nReserved4);
}
